package cn.gqr.mapper;

import cn.gqr.entity.CartBook;
import cn.gqr.entity.Hot;
import cn.gqr.entity.NewBook;
import cn.gqr.entity.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface PublicMapper {

    User findUserByAccount(String account);

    //获取该类型的前几条数据
    List<Hot> findHot(@Param("num") int num,@Param("type")  int type);

    //模糊查询
    List<NewBook> findIf(
            @Param("start")int start,
            @Param("num")int num,
            @Param("key") String key
    );

    //模糊查找的总行数
    int findByLine(
            @Param("start")int start,
            @Param("num")int num,
            @Param("key") String key
    );

    //添加用户
    int addUser(User user);

    //分页查找和类型查找
    List<NewBook> findBookByPage(
            @Param("start")int start,
            @Param("num")int num,
            @Param("typeId") int typeId
    );

    //点赞加一
    int addRate(int bookid);

    //根据typeid查找总行数
    int findLineByTypeid(int typeid);



    //查询 高到低排序后的点赞,销量,加入购物车分页
    List<NewBook> findBookByPageTerm(
            @Param("key") String key,
            @Param("start")int start,
            @Param("num")    int num,
            @Param("typeId")int typeId);

    //查找 点赞,销量,加入购物车 前五条数据
    //key == 点赞/销量/加入购物车
    List<NewBook> findBefore5(String key);

    Integer ifRegister(@Param("account")String account);

}
